package com.school.admin.common.result;


import org.assertj.core.util.Lists;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author ：sunpx
 * @date ：Created in 2021/8/14 3:21
 * @description：公共映射
 * @modified By：
 * @version: $
 */
public class BaseResult {


    /**
     * 字典系统类型
     */
    public enum SysTypeMapping {
        /**
         * 系统参数
         */
        SYS_PARAMETER("sys_parameter", "系统参数"),
        /**
         * 下拉框类型
         */
        SELECT_TYPE_API("SELECT_TYPE_API", "下拉框类型"),

        /**
         * 接口所需权限
         */
        INTERFACE_REQUIRED_ROLE("INTERFACE_REQUIRED_ROLE", "接口所需权限");

        private String type;

        private String typeName;

        public String getType() {
            return type;
        }

        public String getTypeName() {
            return typeName;
        }

        SysTypeMapping(String type, String typeName) {
            this.type = type;
            this.typeName = typeName;
        }
        public static List<Map<String,String>> toList() {
            List<Map<String,String>> list = Lists.newArrayList();

            for (SysTypeMapping airlineTypeEnum : SysTypeMapping.values()) {
                Map<String, String> map = new HashMap();
                map.put(airlineTypeEnum.getType(),airlineTypeEnum.getTypeName());
                list.add(map);
            }
            return list;
        }

 }

    /**
     * 字典 sys_parameter子类型
     */
    public class DicTypeResult {

        /**
         * 用户登录过期时间
         */
        public static final String SYS_PARAMETER_SING_FAIL_TIME="sing_fail_time";

        /**
         * 门店信息类型
         */
        public static final String STORE_INFORMATION_TYPE="store_information_type";

        /**
         * 角色权限
         */
        public static final String STORE_ROLE_TYPE="store_role_type";

        /**
         * 餐厅管理员权限
         */
        public static final String STORE_MANAGER_PERMISSIONS="STORE_MANAGER_PERMISSIONS";

        /**
         * 员工权限
         */
        public static final String USER_RELO="user_relo";

    }

    /**
     * redis类型key
     */
    public class RedisKeyResult{
        /**
         * 用户登录Redis大类型
         */
        public static final String USER_LOGIN = "USER_LOGIN";

        /**
         * 用户登录key
         */
        public static final String USER_LOGIN_KEY = "USER_LOGIN_KEY_";


        public static final String LOGIN_AUTHENTICATION="LOGIN_AUTHENTICATION_";


        public static final String WRONG_LOGIN="WRONG_LOGIN_";
        public static final String WRONG_LOGIN_TIME="WRONG_LOGIN_TIME_";

    }
}
